.. _cmlPmCfgSetRingCntr: cmlPmCfgSetRingCntr ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlPmCfgSetRingCntr ([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel, [in] VT_I4 TargCntr, [in] VT_I4 IsEnable, [in] VT_R8 CntMax ) DESCRIPTION ````````````` - cmlPmCfgSetRingCntr() 함수는 링 카운터 기능을 활성 또는 비활성화 하고 링 카운터 범위를 설정합니다. 해당 모션 축(Axis) 의 Command 또는 Feedback 카운터를 대상으로 링 카운터를 설정합니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ NodeId : 사용자가 제어하고자 하는 노드 번호. ▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. ▶ TargCntr : 링 카운터 기능 대상 카운터를 설정 혹은 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cmlCNT_COMM), Command Counter 1 (cmlCNT_FEED), Feedback Counter ▶ IsEnable : 링 카운터 기능 활성/비활성 여부를 설정 혹은 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cmlFALSE), 링 카운터 기능을 사용하지 않습니다. 1 (cmlTRUE), 링 카운터 기능을 사용합니다. ▶ CntMax : 링 카운터 범위(0~ 359)를 설정 혹은 반환합니다. 링 카운터 기능이 활성화되면 지정한 카운터는 0~CntMax 사이의 값에서만 카운트 됩니다. RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 0(ERR_NONE), 수행 성공 EXAMPLE ``````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ComiMLink2_SDK.h” #include “ComiMLink2_SDK_Def.h” long BoardID = 0; long nChannel = 0;//0번 축을 선택합니다. long nIsEnable = 0; long nTrgtCntr = 0; double fCntMax = 0.0f; /*0 번 축의 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다. 40000 펄스가 되면 커맨드 카운터가 다시 „0‟부터 카운트 됩니다.*/ cmlPmCfgSetRingCntr (BoardID, 0, nChannel, cmlCNT_COMM, cmlTRUE, 40000 ); //0번 축의 커맨드 카운터의 링카운터 사용 여부 및 설정 상태를 반환합니다. cmlPmCfgGetRingCntr (BoardID, 0, nChannel, cmlCNT_COMM, &nIsEnable, &fCntMax );